#include <iostream>
#include <vector>
#define BLANK 0
#define PARA 1
#define PROJ 2
#define PROJ_NEXT 3
using namespace std;

const int N = 10 + 20 * 1024 * 1024;
string buf;  // 用来读入每一行，之所以不用string，是因为我们用fgets读
vector<string> lines;
int w, ans = -1;         // 抛掉第一次fix的ans++
int cur = -1, pre = -1;  // 存上一个处理的行的类型

bool is_blank(string& s) {
  for (auto c : s)
    if (c != ' ') return false;
  return true;
}

int get_type(string& str) {
  if (is_blank(str)) return BLANK;
  if (str.size() >= 2 && str[0] == '*' && str[1] == ' ') return PROJ;
  if ((pre == PROJ || pre == PROJ_NEXT) && str.size() >= 2 && str[0] == ' ' &&
      str[1] == ' ')
    return PROJ_NEXT;
  return PARA;
}

// 计算，连续的空格记为一个
int wc(string& s, int w) {
  int res = 0;
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == ' ') continue;
    int j = i + 1;
    while (j < s.size() && j - i + 1 <= w) j++;
    res++;
    i = j - 1;
  }
  return max(res, 1);
}

string trim(string s) {
  int i = 0, j = s.size() - 1;
  while (i <= j && s[i] == ' ') i++;
  while (i <= j && s[j] == ' ') j--;
  if (i > j) return "";
  return s.substr(i, j - i + 1);
}

void fix_para(int& i) {
  // 与之前的PARA或PROJ隔开
  ans++;  // 先隔开一行
  pre = PARA;
  string obj = trim(lines[i++]);
  while (i < lines.size()) {
    int t = get_type(lines[i]);
    if (t != PARA) break;
    pre = PARA;
    obj += " " + trim(lines[i]);
    i++;
  }
  ans += wc(obj, w);
}

// 处理一个 ·
void fix_proj(int& i) {
  if (pre != PROJ && pre != PROJ_NEXT) ans++;  // 若之前是项目则无需换行
  pre = PROJ;
  string obj = trim(lines[i++].substr(2));
  while (i < lines.size()) {
    int t = get_type(lines[i]);
    if (t != PROJ_NEXT) break;
    pre = t;
    obj += ' ' + trim(lines[i].substr(2));
    i++;
  }
  ans += wc(obj, w - 3);
}

int main() {
  cin >> w;
  cin.get();
  while (getline(cin, buf)) {
    lines.push_back(buf);
    if (lines.back().back() == '\n') lines.back().pop_back();  // 删除回车
  }
  int i = 0;
  while (i < lines.size()) {
    cur = get_type(lines[i]);
    if (cur == BLANK)
      i++, pre = BLANK;
    else if (cur == PARA)
      fix_para(i);
    else if (cur == PROJ)
      fix_proj(i);
  }
  printf("%d", ans);
  return 0;
}
